package com.xxxx.common.utils;

//导入可选配置类
// 导入 SMS 模块的 client
// 导入要请求接口对应的 request response 类

import com.github.qcloudsms.SmsSingleSender;
import com.github.qcloudsms.SmsSingleSenderResult;
import com.github.qcloudsms.httpclient.HTTPException;

import java.io.IOException;

/**
 * Tencent Cloud Sms Sendsms
 * https://cloud.tencent.com/document/product/382/38778
 */
public class SendSms {

    /**
     * 腾讯云短信接口参数
     * nationCode  国家码，如 86 为中国
     * phoneNumber 不带国家码的手机号
     * templateId  信息内容
     * params      模板参数列表，如模板 {1}...{2}...{3}，那么需要带三个参数
     * sign        签名，如果填空，系统会使用默认签名
     * extend      扩展码，可填空
     * ext         服务端原样返回的参数，可填空
     */
    // 短信应用SDK AppID，腾讯云提供
    private int appid = 1400421885; // 1400开头
    // 短信应用SDK AppKey，腾讯云提供
    private String appkey = "7a5b981b1dff404039310905d25d5404";
    // 短信模板ID，需要在短信应用中申请，申请后，腾讯云提供
    private int templateId = 709200;
    //国家码
    private String nationCode = "86";
    //签名
    private String smsSign = "一个有意思的名字公众号";

    private String extend = null;

    private String ext = null;

    /**
     * 发送短信
     *
     * @param phoneNumber 手机号
     */
    public int sendSms(String phoneNumber) throws HTTPException, IOException {
        SmsSingleSender smsSingleSender = new SmsSingleSender(appid, appkey);
        //params   模板参数列表，如短信模板 {1}...{2}...{3}，那么需要带三个参数
        String[] params = {};
        SmsSingleSenderResult result = smsSingleSender.sendWithParam(nationCode, phoneNumber, templateId,
                params, smsSign, extend, ext);//指定模板单发
        return result.result;
    }
}